|
switch (foo(x, y)) { case 1: printf("Hello case 2: printf("Goodbye">n"); /* fall through */ case 2: printf("Goodbyen"); break; case 3: printf("Fish default: fprintf(stderr, "Odd foo value">n"); break; default: fprintf(stderr, "Odd foo valuen"); exit(1); } The break statements cause execution to continue after the whole switch statemetnt. The lack of a break statement after the first case means that execution will fall through into the second case. Since this is a common programming error you should add a comment if it is intentional. If none of the explicit cases matches the expression value then the (optional) default case is taken. A similar construct in some functional languages returns the value of one of several expressi スポンサード リンク
|